package com.terabits.smartriver.mapper;

import com.terabits.smartriver.meta.po.Device;
import com.terabits.smartriver.util.PageData;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import tk.mybatis.mapper.common.Mapper;

import java.util.Date;
import java.util.List;

@org.apache.ibatis.annotations.Mapper
public interface DeviceMapper extends Mapper<Device> {
    /**
     * 查找 设备
     *
     * @param params
     * @return
     */
    List<PageData> selectDevice(@Param("pd") PageData params);

    /**
     * 查找 设备
     *
     * @param boxNum
     * @return
     */
    Device selectOneDevice(@Param("boxNum") String boxNum,@Param("boxInterface") String boxInterface);

    /**
     * 检查更新设备状态
     *
     * @return
     */
    int checkDeviceStatus();

    /**
     * 根据设备号查找设备
     * 常用单独列出来
     *
     * @param deviceNum
     * @return
     */
    Device selectByDeviceNum(@Param("deviceNum") String deviceNum);

    /**
     * 更新设备最新读数
     *
     * @param boxNum
     * @param boxInterface
     * @param data
     * @return
     */
    int updateValueLast(@Param("boxNum") String boxNum, @Param("boxInterface") String boxInterface, @Param("data") Object data, @Param("closeTime")String closeTime, @Param("breakTime")String breakTime,@Param("currentDate") String currentDate);
    int updateValue(@Param("boxNum") String boxNum, @Param("boxInterface") String boxInterface, @Param("data") Object data,@Param("currentDate") String currentDate);

}